package org.hard.model.structure.decorator;

/**
 * @author: 王林博
 * @date: 2023年07月13日 15:39
 */
// 你可以将对象封装在多层装饰中
public class CompressionDecorator extends DataSourceDecorator{

    public CompressionDecorator(DataSource source) {
        super(source);
    }


    // 1. 压缩传递数据。
    // 2. 将压缩后数据传递给被封装对象 writeData（写入数据）方法。
    @Override
    public void writeData(String data) {
        wrappee.writeData(data);
    }
    // 1. 通过被封装对象的 readData（读取数据）方法获取数据。
    // 2. 如果数据被压缩就尝试解压。
    // 3. 返回结果。
    @Override
    public String readData() {
        return wrappee.readData();
    }
}
